package
{
	import com.photobucket.webapi.oauth.IOAuthRequest;
	
	import flash.net.FileReference;
	import flash.net.URLRequest;
	import flash.net.URLVariables;

	public class MockOAuthRequest implements IOAuthRequest
	{

        import com.photobucket.webapi.oauth.oauth_internal;
        use namespace oauth_internal;
        
		protected var testCase:TestCase;
	
		public function MockOAuthRequest(testCase:TestCase, url:String, method:String, )
		{
			this.testCase = testCase;
		}

		public function get url():String
		{
			return "http://api.photobucket.com/test";
		}
		
		public function set url(value:String):void
		{
			testCase.assertFalse("URL should not get set by OAuth Base Service", true);
		}
		
		public function get method():String
		{
			return "GET";
		}
		
		public function set method(value:String):void
		{
			testCase.assertFalse("Method should not get set by OAuth Base Service", true);
		}
		
		private var _needsLogin:Boolean = false;
		
		public function get needsLogin():Boolean
		{
			return _needsLogin;
		}
				
		public function set needsLogin(value:Boolean):void
		{
			_needsLogin = value;
		}

		protected var resultFunction(result:XML):void {
			testCase.assertFalse("Result Method should not get called by OAuth Base Service", true);
		}
		
		public function get result():Function
		{
			return resultFunction;
		}
		
		public function set result(value:Function):void
		{
		
		}
		
		public function get fault():Function
		{
			return null;
		}

		protected var faultFunction(fault:Object):void {
			testCase.assertFalse("Method should not get get called by OAuth Base Service", true);
		}
		
		public function set fault(value:Function):void
		{
		}
		
		public function get token():Object
		{
			return null;
		}
		
		public function set token(value:Object):void
		{
			testCase.assertFalse("token should not get get called by OAuth Base Service", true);
		}
		
		private var _file:FileReference;
		
		public function set file(value:FileReference):void
		{
			_file = value;
		}
		
		public function get file():FileReference
		{
			return _file;
		}
		
		public function get parameterString():String
		{
			return null;
		}
		
		public function get urlVariables():URLVariables
		{
			return null;
		}
		
		public function getURLRequest():URLRequest
		{
			return null;
		}
		
		public function addParameter(key:String, value:String):void
		{
		}
		
	}
}